#ifndef LIBJTS_H
#define LIBJTS_H

#ifdef __cplusplus
extern "C"
{
#endif

typedef float	JtsVec3f[3];
typedef int		JtsTriangle[3];
typedef double	JtsCourbure[13];
typedef double	JtsCourbure2[2];

typedef struct JtsSurface_s JtsSurface;

JtsSurface *jts_build_surface(JtsVec3f *vertices, int num_vertices, JtsTriangle *triangles, int num_triangles);
void jts_curvatures(JtsSurface *s, JtsCourbure *res);
void jts_double_curvatures(JtsSurface *s, JtsCourbure2 *res);
void jts_mean_curvatures(JtsSurface *s, double *res);
void jts_gaussian_curvatures(JtsSurface *s, double *res);

#ifdef __cplusplus
}
#endif

#endif
